Dec 01 06:27:02.860 INFO testing pcostasgr/rustraytracing against master#8940af3cea4a9a9deabcaf843b2f8cad9a83fc61 for beta-1.31-5
Dec 01 06:27:02.860 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.31-5/worker-0/master#8940af3cea4a9a9deabcaf843b2f8cad9a83fc61:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-0/beta-1.31-5/master#8940af3cea4a9a9deabcaf843b2f8cad9a83fc61:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +8940af3cea4a9a9deabcaf843b2f8cad9a83fc61-alt build --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"`
Dec 01 06:27:03.343 INFO [stdout] bab8a22b17f2df676a8a182b2b4c0a60065353292f77604526720a6fc34b1960
Dec 01 06:27:03.349 INFO running `"docker" "start" "-a" "bab8a22b17f2df676a8a182b2b4c0a60065353292f77604526720a6fc34b1960"`
Dec 01 06:27:04.806 INFO [stderr] usermod: no changes
Dec 01 06:27:04.939 INFO [stderr]    Compiling ray_tracing v0.1.0 (/source)
Dec 01 06:27:05.271 INFO [stderr] warning: unused imports: `fmt`, `ptr`
Dec 01 06:27:05.271 INFO [stderr]  --> src/math3d.rs:3:11
Dec 01 06:27:05.271 INFO [stderr]   |
Dec 01 06:27:05.271 INFO [stderr] 3 | use std::{ptr,fmt};
Dec 01 06:27:05.271 INFO [stderr]   |           ^^^ ^^^
Dec 01 06:27:05.271 INFO [stderr]   |
Dec 01 06:27:05.271 INFO [stderr]   = note: #[warn(unused_imports)] on by default
Dec 01 06:27:05.271 INFO [stderr] 
Dec 01 06:27:05.271 INFO [stderr] warning: unused import: `Duration`
Dec 01 06:27:05.271 INFO [stderr]  --> src/main.rs:7:17
Dec 01 06:27:05.271 INFO [stderr]   |
Dec 01 06:27:05.271 INFO [stderr] 7 | use std::time::{Duration, Instant};
Dec 01 06:27:05.271 INFO [stderr]   |                 ^^^^^^^^
Dec 01 06:27:05.271 INFO [stderr] 
Dec 01 06:27:05.439 INFO [stderr] warning: unused variable: `b`
Dec 01 06:27:05.439 INFO [stderr]    --> src/math3d.rs:192:13
Dec 01 06:27:05.439 INFO [stderr]     |
Dec 01 06:27:05.439 INFO [stderr] 192 |         let b:bool;
Dec 01 06:27:05.439 INFO [stderr]     |             ^ help: consider using `_b` instead
Dec 01 06:27:05.439 INFO [stderr]     |
Dec 01 06:27:05.439 INFO [stderr]     = note: #[warn(unused_variables)] on by default
Dec 01 06:27:05.439 INFO [stderr] 
Dec 01 06:27:05.439 INFO [stderr] warning: value assigned to `p` is never read
Dec 01 06:27:05.439 INFO [stderr]    --> src/math3d.rs:481:13
Dec 01 06:27:05.439 INFO [stderr]     |
Dec 01 06:27:05.439 INFO [stderr] 481 |     let mut p=v3f{x:0.0,y:0.0,z:0.0};
Dec 01 06:27:05.439 INFO [stderr]     |             ^
Dec 01 06:27:05.439 INFO [stderr]     |
Dec 01 06:27:05.439 INFO [stderr]     = note: #[warn(unused_assignments)] on by default
Dec 01 06:27:05.439 INFO [stderr] 
Dec 01 06:27:05.439 INFO [stderr] warning: unused variable: `n`
Dec 01 06:27:05.439 INFO [stderr]   --> src/main.rs:11:9
Dec 01 06:27:05.439 INFO [stderr]    |
Dec 01 06:27:05.439 INFO [stderr] 11 |     let n=500;
Dec 01 06:27:05.439 INFO [stderr]    |         ^ help: consider using `_n` instead
Dec 01 06:27:05.439 INFO [stderr] 
Dec 01 06:27:05.439 INFO [stderr] warning: unused variable: `world`
Dec 01 06:27:05.439 INFO [stderr]   --> src/main.rs:10:26
Dec 01 06:27:05.439 INFO [stderr]    |
Dec 01 06:27:05.439 INFO [stderr] 10 | pub fn CreateRandomScene(world:& mut math3d::World){
Dec 01 06:27:05.439 INFO [stderr]    |                          ^^^^^ help: consider using `_world` instead
Dec 01 06:27:05.439 INFO [stderr] 
Dec 01 06:27:05.439 INFO [stderr] warning: unused variable: `lower_lef_corner`
Dec 01 06:27:05.439 INFO [stderr]   --> src/main.rs:42:9
Dec 01 06:27:05.439 INFO [stderr]    |
Dec 01 06:27:05.439 INFO [stderr] 42 |     let lower_lef_corner:v3f=v3f{x:-2.0,y:-1.0,z:-1.0};
Dec 01 06:27:05.439 INFO [stderr]    |         ^^^^^^^^^^^^^^^^ help: consider using `_lower_lef_corner` instead
Dec 01 06:27:05.439 INFO [stderr] 
Dec 01 06:27:05.439 INFO [stderr] warning: unused variable: `horizontal`
Dec 01 06:27:05.439 INFO [stderr]   --> src/main.rs:43:9
Dec 01 06:27:05.439 INFO [stderr]    |
Dec 01 06:27:05.439 INFO [stderr] 43 |     let horizontal:v3f=v3f{x:4.0,y:0.0,z:0.0};
Dec 01 06:27:05.440 INFO [stderr]    |         ^^^^^^^^^^ help: consider using `_horizontal` instead
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: unused variable: `vertical`
Dec 01 06:27:05.440 INFO [stderr]   --> src/main.rs:44:9
Dec 01 06:27:05.440 INFO [stderr]    |
Dec 01 06:27:05.440 INFO [stderr] 44 |     let vertical:v3f=v3f{x:0.0,y:2.0,z:0.0};
Dec 01 06:27:05.440 INFO [stderr]    |         ^^^^^^^^ help: consider using `_vertical` instead
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: unused variable: `origin`
Dec 01 06:27:05.440 INFO [stderr]   --> src/main.rs:45:9
Dec 01 06:27:05.440 INFO [stderr]    |
Dec 01 06:27:05.440 INFO [stderr] 45 |     let origin:v3f=v3f{x:0.0,y:0.0,z:0.0};
Dec 01 06:27:05.440 INFO [stderr]    |         ^^^^^^ help: consider using `_origin` instead
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: unused variable: `v00`
Dec 01 06:27:05.440 INFO [stderr]    --> src/main.rs:101:9
Dec 01 06:27:05.440 INFO [stderr]     |
Dec 01 06:27:05.440 INFO [stderr] 101 |     let v00=math3d::VecSub3D(&look_from,&look_at);
Dec 01 06:27:05.440 INFO [stderr]     |         ^^^ help: consider using `_v00` instead
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: value assigned to `r1` is never read
Dec 01 06:27:05.440 INFO [stderr]    --> src/main.rs:122:25
Dec 01 06:27:05.440 INFO [stderr]     |
Dec 01 06:27:05.440 INFO [stderr] 122 |                 let mut r1:f32=0.0;
Dec 01 06:27:05.440 INFO [stderr]     |                         ^^
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: value assigned to `r2` is never read
Dec 01 06:27:05.440 INFO [stderr]    --> src/main.rs:123:25
Dec 01 06:27:05.440 INFO [stderr]     |
Dec 01 06:27:05.440 INFO [stderr] 123 |                 let mut r2:f32=0.0;
Dec 01 06:27:05.440 INFO [stderr]     |                         ^^
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: unused variable: `s`
Dec 01 06:27:05.440 INFO [stderr]    --> src/main.rs:126:21
Dec 01 06:27:05.440 INFO [stderr]     |
Dec 01 06:27:05.440 INFO [stderr] 126 |                 for s in 0..ns{
Dec 01 06:27:05.440 INFO [stderr]     |                     ^ help: consider using `_s` instead
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: unused variable: `hit`
Dec 01 06:27:05.440 INFO [stderr]    --> src/math3d.rs:283:21
Dec 01 06:27:05.440 INFO [stderr]     |
Dec 01 06:27:05.440 INFO [stderr] 283 |             let mut hit:bool=false;
Dec 01 06:27:05.440 INFO [stderr]     |                     ^^^ help: consider using `_hit` instead
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: unused variable: `r_in`
Dec 01 06:27:05.440 INFO [stderr]    --> src/math3d.rs:513:25
Dec 01 06:27:05.440 INFO [stderr]     |
Dec 01 06:27:05.440 INFO [stderr] 513 |        fn Scatter(&self,r_in:&Ray,rec:&HitRecord,attenuation:&mut v3f,scattered:&mut Ray)->bool{
Dec 01 06:27:05.440 INFO [stderr]     |                         ^^^^ help: consider using `_r_in` instead
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: value assigned to `ni_over_nt` is never read
Dec 01 06:27:05.440 INFO [stderr]    --> src/math3d.rs:640:21
Dec 01 06:27:05.440 INFO [stderr]     |
Dec 01 06:27:05.440 INFO [stderr] 640 |             let mut ni_over_nt:f32=0.0;
Dec 01 06:27:05.440 INFO [stderr]     |                     ^^^^^^^^^^
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: value assigned to `cosine` is never read
Dec 01 06:27:05.440 INFO [stderr]    --> src/math3d.rs:647:21
Dec 01 06:27:05.440 INFO [stderr]     |
Dec 01 06:27:05.440 INFO [stderr] 647 |             let mut cosine:f32=0.0;
Dec 01 06:27:05.440 INFO [stderr]     |                     ^^^^^^
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.440 INFO [stderr] warning: value assigned to `reflect_prob` is never read
Dec 01 06:27:05.440 INFO [stderr]    --> src/math3d.rs:648:21
Dec 01 06:27:05.440 INFO [stderr]     |
Dec 01 06:27:05.440 INFO [stderr] 648 |             let mut reflect_prob:f32=0.0;
Dec 01 06:27:05.440 INFO [stderr]     |                     ^^^^^^^^^^^^
Dec 01 06:27:05.440 INFO [stderr] 
Dec 01 06:27:05.459 INFO [stderr] warning: variable does not need to be mutable
Dec 01 06:27:05.459 INFO [stderr]   --> src/math3d.rs:54:13
Dec 01 06:27:05.459 INFO [stderr]    |
Dec 01 06:27:05.459 INFO [stderr] 54 |         let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z;
Dec 01 06:27:05.459 INFO [stderr]    |             ----^^^^^
Dec 01 06:27:05.459 INFO [stderr]    |             |
Dec 01 06:27:05.459 INFO [stderr]    |             help: remove this `mut`
Dec 01 06:27:05.459 INFO [stderr]    |
Dec 01 06:27:05.459 INFO [stderr]    = note: #[warn(unused_mut)] on by default
Dec 01 06:27:05.459 INFO [stderr] 
Dec 01 06:27:05.459 INFO [stderr] warning: variable does not need to be mutable
Dec 01 06:27:05.459 INFO [stderr]   --> src/math3d.rs:59:13
Dec 01 06:27:05.459 INFO [stderr]    |
Dec 01 06:27:05.459 INFO [stderr] 59 |         let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z;
Dec 01 06:27:05.459 INFO [stderr]    |             ----^^^^^
Dec 01 06:27:05.459 INFO [stderr]    |             |
Dec 01 06:27:05.459 INFO [stderr]    |             help: remove this `mut`
Dec 01 06:27:05.459 INFO [stderr] 
Dec 01 06:27:05.465 INFO [stderr] warning: variable does not need to be mutable
Dec 01 06:27:05.465 INFO [stderr]    --> src/math3d.rs:190:21
Dec 01 06:27:05.465 INFO [stderr]     |
Dec 01 06:27:05.466 INFO [stderr] 190 |     pub fn GetColor(mut ray:Ray,world:& World,depth:i16)->v3f{
Dec 01 06:27:05.466 INFO [stderr]     |                     ----^^^
Dec 01 06:27:05.466 INFO [stderr]     |                     |
Dec 01 06:27:05.466 INFO [stderr]     |                     help: remove this `mut`
Dec 01 06:27:05.466 INFO [stderr] 
Dec 01 06:27:05.466 INFO [stderr] warning: variable does not need to be mutable
Dec 01 06:27:05.466 INFO [stderr]    --> src/math3d.rs:226:17
Dec 01 06:27:05.466 INFO [stderr]     |
Dec 01 06:27:05.466 INFO [stderr] 226 |             let mut unit_direction=VecNorm3D(&ray.direction);
Dec 01 06:27:05.466 INFO [stderr]     |                 ----^^^^^^^^^^^^^^
Dec 01 06:27:05.466 INFO [stderr]     |                 |
Dec 01 06:27:05.466 INFO [stderr]     |                 help: remove this `mut`
Dec 01 06:27:05.466 INFO [stderr] 
Dec 01 06:27:05.467 INFO [stderr] warning: variable does not need to be mutable
Dec 01 06:27:05.467 INFO [stderr]    --> src/math3d.rs:283:17
Dec 01 06:27:05.467 INFO [stderr]     |
Dec 01 06:27:05.467 INFO [stderr] 283 |             let mut hit:bool=false;
Dec 01 06:27:05.467 INFO [stderr]     |                 ----^^^
Dec 01 06:27:05.467 INFO [stderr]     |                 |
Dec 01 06:27:05.467 INFO [stderr]     |                 help: remove this `mut`
Dec 01 06:27:05.467 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: type alias is never used: `v3i`
Dec 01 06:27:05.484 INFO [stderr]   --> src/math3d.rs:17:1
Dec 01 06:27:05.484 INFO [stderr]    |
Dec 01 06:27:05.484 INFO [stderr] 17 | type v3i=Vec3D<i32>;
Dec 01 06:27:05.484 INFO [stderr]    | ^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr]    |
Dec 01 06:27:05.484 INFO [stderr]    = note: #[warn(dead_code)] on by default
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: function is never used: `Refrect`
Dec 01 06:27:05.484 INFO [stderr]    --> src/math3d.rs:134:1
Dec 01 06:27:05.484 INFO [stderr]     |
Dec 01 06:27:05.484 INFO [stderr] 134 | pub fn Refrect(v:&v3f,n:&v3f)->v3f{
Dec 01 06:27:05.484 INFO [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: function is never used: `HitSphere`
Dec 01 06:27:05.484 INFO [stderr]    --> src/math3d.rs:246:1
Dec 01 06:27:05.484 INFO [stderr]     |
Dec 01 06:27:05.484 INFO [stderr] 246 | pub fn HitSphere(center:v3f,radius:f32,r:Ray)->f32 {
Dec 01 06:27:05.484 INFO [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: struct is never constructed: `CameraOld`
Dec 01 06:27:05.484 INFO [stderr]    --> src/math3d.rs:312:1
Dec 01 06:27:05.484 INFO [stderr]     |
Dec 01 06:27:05.484 INFO [stderr] 312 | pub struct CameraOld{
Dec 01 06:27:05.484 INFO [stderr]     | ^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: method is never used: `new`
Dec 01 06:27:05.484 INFO [stderr]    --> src/math3d.rs:322:5
Dec 01 06:27:05.484 INFO [stderr]     |
Dec 01 06:27:05.484 INFO [stderr] 322 |     pub fn new()->Self{
Dec 01 06:27:05.484 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: method is never used: `GetRay`
Dec 01 06:27:05.484 INFO [stderr]    --> src/math3d.rs:336:5
Dec 01 06:27:05.484 INFO [stderr]     |
Dec 01 06:27:05.484 INFO [stderr] 336 |     pub fn GetRay(&self,u:f32,v:f32)->Ray{
Dec 01 06:27:05.484 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: method is never used: `GetRayOld`
Dec 01 06:27:05.484 INFO [stderr]    --> src/math3d.rs:436:5
Dec 01 06:27:05.484 INFO [stderr]     |
Dec 01 06:27:05.484 INFO [stderr] 436 |     pub fn GetRayOld(&self,u:f32,v:f32)->Ray{
Dec 01 06:27:05.484 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: method is never used: `new`
Dec 01 06:27:05.484 INFO [stderr]    --> src/math3d.rs:502:5
Dec 01 06:27:05.484 INFO [stderr]     |
Dec 01 06:27:05.484 INFO [stderr] 502 |     pub fn new(a:v3f)->Self{
Dec 01 06:27:05.484 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: method is never used: `new`
Dec 01 06:27:05.484 INFO [stderr]    --> src/math3d.rs:539:5
Dec 01 06:27:05.484 INFO [stderr]     |
Dec 01 06:27:05.484 INFO [stderr] 539 |     pub fn new(a:v3f,f:f32)->Self{
Dec 01 06:27:05.484 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: method is never used: `new`
Dec 01 06:27:05.484 INFO [stderr]    --> src/math3d.rs:627:5
Dec 01 06:27:05.484 INFO [stderr]     |
Dec 01 06:27:05.484 INFO [stderr] 627 |     pub fn new(ri:f32)->Self{
Dec 01 06:27:05.484 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.484 INFO [stderr] warning: type alias is never used: `v3i`
Dec 01 06:27:05.484 INFO [stderr]   --> src/main.rs:17:5
Dec 01 06:27:05.484 INFO [stderr]    |
Dec 01 06:27:05.484 INFO [stderr] 17 |     type v3i=math3d::Vec3D<i32>;
Dec 01 06:27:05.484 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.484 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: type alias is never used: `Ray`
Dec 01 06:27:05.485 INFO [stderr]   --> src/main.rs:18:5
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 18 |     type Ray=math3d::Ray;
Dec 01 06:27:05.485 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.485 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: type alias is never used: `CameraOld`
Dec 01 06:27:05.485 INFO [stderr]   --> src/main.rs:22:5
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 22 |     type CameraOld=math3d::CameraOld;
Dec 01 06:27:05.485 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.485 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: type alias is never used: `HitRecord`
Dec 01 06:27:05.485 INFO [stderr]   --> src/main.rs:26:5
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 26 |     type HitRecord=math3d::HitRecord;
Dec 01 06:27:05.485 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.485 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: type `v3f` should have a camel case name such as `V3f`
Dec 01 06:27:05.485 INFO [stderr]   --> src/math3d.rs:16:1
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 16 | type v3f=Vec3D<f32>;
Dec 01 06:27:05.485 INFO [stderr]    | ^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr]    = note: #[warn(non_camel_case_types)] on by default
Dec 01 06:27:05.485 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: type `v3i` should have a camel case name such as `V3i`
Dec 01 06:27:05.485 INFO [stderr]   --> src/math3d.rs:17:1
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 17 | type v3i=Vec3D<i32>;
Dec 01 06:27:05.485 INFO [stderr]    | ^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.485 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: trait method `Hit` should have a snake case name such as `hit`
Dec 01 06:27:05.485 INFO [stderr]   --> src/math3d.rs:40:5
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 40 |     fn Hit(&self,r:Ray,t_min:f32,t_max:f32,rec:& mut  HitRecord)->bool;
Dec 01 06:27:05.485 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr]    = note: #[warn(non_snake_case)] on by default
Dec 01 06:27:05.485 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: trait method `GetMaterial` should have a snake case name such as `get_material`
Dec 01 06:27:05.485 INFO [stderr]   --> src/math3d.rs:41:5
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 41 |     fn GetMaterial(&self)->& Box<Material>;
Dec 01 06:27:05.485 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.485 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: method `Length` should have a snake case name such as `length`
Dec 01 06:27:05.485 INFO [stderr]   --> src/math3d.rs:53:5
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 53 | /     pub fn Length(&self)-> f32{
Dec 01 06:27:05.485 INFO [stderr] 54 | |         let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z;
Dec 01 06:27:05.485 INFO [stderr] 55 | |         value.sqrt()
Dec 01 06:27:05.485 INFO [stderr] 56 | |     }
Dec 01 06:27:05.485 INFO [stderr]    | |_____^
Dec 01 06:27:05.485 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: method `SquaredLength` should have a snake case name such as `squared_length`
Dec 01 06:27:05.485 INFO [stderr]   --> src/math3d.rs:58:5
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 58 | /     pub fn SquaredLength(&self)-> f32{
Dec 01 06:27:05.485 INFO [stderr] 59 | |         let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z;
Dec 01 06:27:05.485 INFO [stderr] 60 | |         value
Dec 01 06:27:05.485 INFO [stderr] 61 | |     }
Dec 01 06:27:05.485 INFO [stderr]    | |_____^
Dec 01 06:27:05.485 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: method `ToI32` should have a snake case name such as `to_i32`
Dec 01 06:27:05.485 INFO [stderr]   --> src/math3d.rs:63:5
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 63 | /     pub fn ToI32(&self)->Vec3D<i32>{
Dec 01 06:27:05.485 INFO [stderr] 64 | |         Vec3D{x:self.x as i32,y:self.y as i32,z:self.z as i32}
Dec 01 06:27:05.485 INFO [stderr] 65 | |     }
Dec 01 06:27:05.485 INFO [stderr]    | |_____^
Dec 01 06:27:05.485 INFO [stderr] 
Dec 01 06:27:05.485 INFO [stderr] warning: method `PointAtParameter` should have a snake case name such as `point_at_parameter`
Dec 01 06:27:05.485 INFO [stderr]   --> src/math3d.rs:82:5
Dec 01 06:27:05.485 INFO [stderr]    |
Dec 01 06:27:05.485 INFO [stderr] 82 | /     pub fn PointAtParameter(&self,t:f32) -> v3f{
Dec 01 06:27:05.485 INFO [stderr] 83 | |         let v=VecMul3D(&self.direction,t);
Dec 01 06:27:05.485 INFO [stderr] 84 | |         let r=VecAdd3D(&self.origin,&v);
Dec 01 06:27:05.485 INFO [stderr] 85 | |         r
Dec 01 06:27:05.486 INFO [stderr] 86 | |     }
Dec 01 06:27:05.486 INFO [stderr]    | |_____^
Dec 01 06:27:05.486 INFO [stderr] 
Dec 01 06:27:05.486 INFO [stderr] warning: function `VecDot3D` should have a snake case name such as `vec_dot3_d`
Dec 01 06:27:05.486 INFO [stderr]   --> src/math3d.rs:90:1
Dec 01 06:27:05.486 INFO [stderr]    |
Dec 01 06:27:05.486 INFO [stderr] 90 | / pub fn VecDot3D(v1:&Vec3D<f32>,v2:&Vec3D<f32>)-> f32{
Dec 01 06:27:05.486 INFO [stderr] 91 | |     (v1.x*v2.x+v1.y*v2.y+v1.z*v2.z)
Dec 01 06:27:05.486 INFO [stderr] 92 | | }
Dec 01 06:27:05.486 INFO [stderr]    | |_^
Dec 01 06:27:05.486 INFO [stderr] 
Dec 01 06:27:05.486 INFO [stderr] warning: function `VecCross3D` should have a snake case name such as `vec_cross3_d`
Dec 01 06:27:05.486 INFO [stderr]    --> src/math3d.rs:94:1
Dec 01 06:27:05.486 INFO [stderr]     |
Dec 01 06:27:05.486 INFO [stderr] 94  | / pub fn VecCross3D(v1:&Vec3D<f32>,v2:&Vec3D<f32>)-> Vec3D<f32>{
Dec 01 06:27:05.486 INFO [stderr] 95  | |     let x=v1.y*v2.z-v1.z*v2.y;
Dec 01 06:27:05.486 INFO [stderr] 96  | |     let y=-(v1.x*v2.z)-v1.z*v2.x;
Dec 01 06:27:05.486 INFO [stderr] 97  | |     let z=v1.x*v2.y-v1.y*v2.x;
Dec 01 06:27:05.486 INFO [stderr] 98  | |
Dec 01 06:27:05.486 INFO [stderr] 99  | |     Vec3D{x:x,y:y,z:z}
Dec 01 06:27:05.486 INFO [stderr] 100 | | }
Dec 01 06:27:05.486 INFO [stderr]     | |_^
Dec 01 06:27:05.486 INFO [stderr] 
Dec 01 06:27:05.486 INFO [stderr] warning: function `VecAdd3D` should have a snake case name such as `vec_add3_d`
Dec 01 06:27:05.486 INFO [stderr]    --> src/math3d.rs:102:1
Dec 01 06:27:05.486 INFO [stderr]     |
Dec 01 06:27:05.486 INFO [stderr] 102 | / pub fn VecAdd3D(v1:&Vec3D<f32>,v2:&Vec3D<f32>)-> Vec3D<f32>{
Dec 01 06:27:05.486 INFO [stderr] 103 | |    Vec3D{x:v1.x+v2.x,y:v1.y+v2.y,z:v1.z+v2.z}
Dec 01 06:27:05.486 INFO [stderr] 104 | | }
Dec 01 06:27:05.486 INFO [stderr]     | |_^
Dec 01 06:27:05.486 INFO [stderr] 
Dec 01 06:27:05.486 INFO [stderr] warning: function `VecSub3D` should have a snake case name such as `vec_sub3_d`
Dec 01 06:27:05.486 INFO [stderr]    --> src/math3d.rs:106:1
Dec 01 06:27:05.486 INFO [stderr]     |
Dec 01 06:27:05.486 INFO [stderr] 106 | / pub fn VecSub3D(v1:&Vec3D<f32>,v2:&Vec3D<f32>)-> Vec3D<f32>{
Dec 01 06:27:05.486 INFO [stderr] 107 | |     Vec3D{x:v1.x-v2.x,y:v1.y-v2.y,z:v1.z-v2.z}
Dec 01 06:27:05.486 INFO [stderr] 108 | | }
Dec 01 06:27:05.486 INFO [stderr]     | |_^
Dec 01 06:27:05.486 INFO [stderr] 
Dec 01 06:27:05.486 INFO [stderr] warning: function `VecMul3D` should have a snake case name such as `vec_mul3_d`
Dec 01 06:27:05.486 INFO [stderr]    --> src/math3d.rs:110:1
Dec 01 06:27:05.486 INFO [stderr]     |
Dec 01 06:27:05.486 INFO [stderr] 110 | / pub fn VecMul3D(v:&Vec3D<f32>,f:f32)->Vec3D<f32>{
Dec 01 06:27:05.486 INFO [stderr] 111 | |     Vec3D{x:v.x*f,y:v.y*f,z:v.z*f}
Dec 01 06:27:05.486 INFO [stderr] 112 | | }
Dec 01 06:27:05.486 INFO [stderr]     | |_^
Dec 01 06:27:05.486 INFO [stderr] 
Dec 01 06:27:05.486 INFO [stderr] warning: function `VecMulVec3D` should have a snake case name such as `vec_mul_vec3_d`
Dec 01 06:27:05.486 INFO [stderr]    --> src/math3d.rs:114:1
Dec 01 06:27:05.486 INFO [stderr]     |
Dec 01 06:27:05.486 INFO [stderr] 114 | / pub fn VecMulVec3D(v1:&Vec3D<f32>,v2:&Vec3D<f32>)->Vec3D<f32>{
Dec 01 06:27:05.486 INFO [stderr] 115 | |     Vec3D{x:v1.x*v2.x,y:v1.y*v2.y,z:v1.z*v2.z}
Dec 01 06:27:05.486 INFO [stderr] 116 | | }
Dec 01 06:27:05.486 INFO [stderr]     | |_^
Dec 01 06:27:05.486 INFO [stderr] 
Dec 01 06:27:05.486 INFO [stderr] warning: function `VecDiv3D` should have a snake case name such as `vec_div3_d`
Dec 01 06:27:05.486 INFO [stderr]    --> src/math3d.rs:118:1
Dec 01 06:27:05.486 INFO [stderr]     |
Dec 01 06:27:05.486 INFO [stderr] 118 | / pub fn VecDiv3D(v:&v3f,f:f32)->v3f{
Dec 01 06:27:05.486 INFO [stderr] 119 | |
Dec 01 06:27:05.486 INFO [stderr] 120 | |     //this sucks I'll use an epsilon next time I promise
Dec 01 06:27:05.486 INFO [stderr] 121 | |     if f!=0.0 {
Dec 01 06:27:05.486 INFO [stderr] ...   |
Dec 01 06:27:05.486 INFO [stderr] 126 | |     }
Dec 01 06:27:05.486 INFO [stderr] 127 | | }
Dec 01 06:27:05.486 INFO [stderr]     | |_^
Dec 01 06:27:05.486 INFO [stderr] 
Dec 01 06:27:05.486 INFO [stderr] warning: function `VecNorm3D` should have a snake case name such as `vec_norm3_d`
Dec 01 06:27:05.486 INFO [stderr]    --> src/math3d.rs:129:1
Dec 01 06:27:05.486 INFO [stderr]     |
Dec 01 06:27:05.486 INFO [stderr] 129 | / pub fn VecNorm3D(v:&v3f)->v3f{
Dec 01 06:27:05.486 INFO [stderr] 130 | |     let length=v.Length();
Dec 01 06:27:05.486 INFO [stderr] 131 | |     VecDiv3D(v,length)
Dec 01 06:27:05.486 INFO [stderr] 132 | | }
Dec 01 06:27:05.486 INFO [stderr]     | |_^
Dec 01 06:27:05.486 INFO [stderr] 
Dec 01 06:27:05.486 INFO [stderr] warning: function `Refrect` should have a snake case name such as `refrect`
Dec 01 06:27:05.486 INFO [stderr]    --> src/math3d.rs:134:1
Dec 01 06:27:05.486 INFO [stderr]     |
Dec 01 06:27:05.486 INFO [stderr] 134 | / pub fn Refrect(v:&v3f,n:&v3f)->v3f{
Dec 01 06:27:05.486 INFO [stderr] 135 | |     let result=VecDot3D(&v,&n)*2.0;
Dec 01 06:27:05.487 INFO [stderr] 136 | |     let nn=VecMul3D(&n,result);
Dec 01 06:27:05.487 INFO [stderr] 137 | |     VecSub3D(&v,&nn)
Dec 01 06:27:05.487 INFO [stderr] 138 | | }
Dec 01 06:27:05.487 INFO [stderr]     | |_^
Dec 01 06:27:05.487 INFO [stderr] 
Dec 01 06:27:05.487 INFO [stderr] warning: function `GetColor` should have a snake case name such as `get_color`
Dec 01 06:27:05.487 INFO [stderr]    --> src/math3d.rs:190:5
Dec 01 06:27:05.488 INFO [stderr]     |
Dec 01 06:27:05.488 INFO [stderr] 190 | /     pub fn GetColor(mut ray:Ray,world:& World,depth:i16)->v3f{
Dec 01 06:27:05.488 INFO [stderr] 191 | |     
Dec 01 06:27:05.488 INFO [stderr] 192 | |         let b:bool;
Dec 01 06:27:05.488 INFO [stderr] 193 | |         
Dec 01 06:27:05.488 INFO [stderr] ...   |
Dec 01 06:27:05.488 INFO [stderr] 243 | |
Dec 01 06:27:05.488 INFO [stderr] 244 | |     }
Dec 01 06:27:05.488 INFO [stderr]     | |_____^
Dec 01 06:27:05.488 INFO [stderr] 
Dec 01 06:27:05.488 INFO [stderr] warning: function `HitSphere` should have a snake case name such as `hit_sphere`
Dec 01 06:27:05.488 INFO [stderr]    --> src/math3d.rs:246:1
Dec 01 06:27:05.488 INFO [stderr]     |
Dec 01 06:27:05.488 INFO [stderr] 246 | / pub fn HitSphere(center:v3f,radius:f32,r:Ray)->f32 {
Dec 01 06:27:05.488 INFO [stderr] 247 | |     let oc=VecSub3D(&r.origin,&center);
Dec 01 06:27:05.488 INFO [stderr] 248 | |     let a=VecDot3D(&r.direction,&r.direction);
Dec 01 06:27:05.488 INFO [stderr] 249 | |     let b=2.0*VecDot3D(&oc,&r.direction);
Dec 01 06:27:05.488 INFO [stderr] ...   |
Dec 01 06:27:05.488 INFO [stderr] 258 | |
Dec 01 06:27:05.488 INFO [stderr] 259 | | }
Dec 01 06:27:05.488 INFO [stderr]     | |_^
Dec 01 06:27:05.488 INFO [stderr] 
Dec 01 06:27:05.488 INFO [stderr] warning: method `Hit` should have a snake case name such as `hit`
Dec 01 06:27:05.488 INFO [stderr]    --> src/math3d.rs:276:9
Dec 01 06:27:05.488 INFO [stderr]     |
Dec 01 06:27:05.488 INFO [stderr] 276 | /         fn Hit(&self,r:Ray,t_min:f32,t_max:f32,rec:& mut HitRecord)->bool{
Dec 01 06:27:05.488 INFO [stderr] 277 | |
Dec 01 06:27:05.488 INFO [stderr] 278 | |             let mut hit_anything:bool=false;
Dec 01 06:27:05.488 INFO [stderr] 279 | |
Dec 01 06:27:05.488 INFO [stderr] ...   |
Dec 01 06:27:05.488 INFO [stderr] 307 | |             //return None;
Dec 01 06:27:05.488 INFO [stderr] 308 | |         }
Dec 01 06:27:05.488 INFO [stderr]     | |_________^
Dec 01 06:27:05.488 INFO [stderr] 
Dec 01 06:27:05.488 INFO [stderr] warning: method `GetRay` should have a snake case name such as `get_ray`
Dec 01 06:27:05.488 INFO [stderr]    --> src/math3d.rs:336:5
Dec 01 06:27:05.488 INFO [stderr]     |
Dec 01 06:27:05.488 INFO [stderr] 336 | /     pub fn GetRay(&self,u:f32,v:f32)->Ray{
Dec 01 06:27:05.488 INFO [stderr] 337 | |             let mut v1=VecMul3D(&self.horizontal,u);            
Dec 01 06:27:05.488 INFO [stderr] 338 | |             let v2=VecMul3D(&self.vertical,v);
Dec 01 06:27:05.488 INFO [stderr] 339 | |             
Dec 01 06:27:05.488 INFO [stderr] ...   |
Dec 01 06:27:05.488 INFO [stderr] 348 | |             r
Dec 01 06:27:05.488 INFO [stderr] 349 | |     }
Dec 01 06:27:05.488 INFO [stderr]     | |_____^
Dec 01 06:27:05.488 INFO [stderr] 
Dec 01 06:27:05.488 INFO [stderr] warning: function `RandomInUnitDisk` should have a snake case name such as `random_in_unit_disk`
Dec 01 06:27:05.488 INFO [stderr]    --> src/math3d.rs:354:1
Dec 01 06:27:05.488 INFO [stderr]     |
Dec 01 06:27:05.488 INFO [stderr] 354 | / pub fn RandomInUnitDisk()->v3f {
Dec 01 06:27:05.488 INFO [stderr] 355 | |
Dec 01 06:27:05.488 INFO [stderr] 356 | |     let mut do_loop=true;
Dec 01 06:27:05.488 INFO [stderr] 357 | |     let mut p=v3f::new();
Dec 01 06:27:05.488 INFO [stderr] ...   |
Dec 01 06:27:05.488 INFO [stderr] 375 | |
Dec 01 06:27:05.488 INFO [stderr] 376 | | }
Dec 01 06:27:05.488 INFO [stderr]     | |_^
Dec 01 06:27:05.488 INFO [stderr] 
Dec 01 06:27:05.488 INFO [stderr] warning: method `GetRayOld` should have a snake case name such as `get_ray_old`
Dec 01 06:27:05.488 INFO [stderr]    --> src/math3d.rs:436:5
Dec 01 06:27:05.488 INFO [stderr]     |
Dec 01 06:27:05.488 INFO [stderr] 436 | /     pub fn GetRayOld(&self,u:f32,v:f32)->Ray{
Dec 01 06:27:05.488 INFO [stderr] 437 | |             let mut v1=VecMul3D(&self.horizontal,u);            
Dec 01 06:27:05.488 INFO [stderr] 438 | |             let v2=VecMul3D(&self.vertical,v);
Dec 01 06:27:05.488 INFO [stderr] 439 | |             
Dec 01 06:27:05.488 INFO [stderr] ...   |
Dec 01 06:27:05.488 INFO [stderr] 448 | |             r
Dec 01 06:27:05.488 INFO [stderr] 449 | |     }
Dec 01 06:27:05.488 INFO [stderr]     | |_____^
Dec 01 06:27:05.488 INFO [stderr] 
Dec 01 06:27:05.488 INFO [stderr] warning: method `GetRay` should have a snake case name such as `get_ray`
Dec 01 06:27:05.488 INFO [stderr]    --> src/math3d.rs:451:5
Dec 01 06:27:05.488 INFO [stderr]     |
Dec 01 06:27:05.488 INFO [stderr] 451 | /     pub fn GetRay(&self,u:f32,v:f32)->Ray{
Dec 01 06:27:05.488 INFO [stderr] 452 | |
Dec 01 06:27:05.488 INFO [stderr] 453 | |             let rd_=RandomInUnitDisk();
Dec 01 06:27:05.488 INFO [stderr] 454 | |             let rd=VecMul3D(&rd_,self.lens_radius);
Dec 01 06:27:05.488 INFO [stderr] ...   |
Dec 01 06:27:05.488 INFO [stderr] 475 | |             r
Dec 01 06:27:05.488 INFO [stderr] 476 | |     }
Dec 01 06:27:05.489 INFO [stderr]     | |_____^
Dec 01 06:27:05.489 INFO [stderr] 
Dec 01 06:27:05.489 INFO [stderr] warning: function `RandomInUnitSphere` should have a snake case name such as `random_in_unit_sphere`
Dec 01 06:27:05.489 INFO [stderr]    --> src/math3d.rs:480:1
Dec 01 06:27:05.489 INFO [stderr]     |
Dec 01 06:27:05.489 INFO [stderr] 480 | / pub fn RandomInUnitSphere()->v3f{
Dec 01 06:27:05.489 INFO [stderr] 481 | |     let mut p=v3f{x:0.0,y:0.0,z:0.0};
Dec 01 06:27:05.489 INFO [stderr] 482 | |     loop {
Dec 01 06:27:05.489 INFO [stderr] 483 | |         let r1=thread_rng().gen_range(0.0,1.0);
Dec 01 06:27:05.489 INFO [stderr] ...   |
Dec 01 06:27:05.489 INFO [stderr] 490 | |     p
Dec 01 06:27:05.489 INFO [stderr] 491 | | }
Dec 01 06:27:05.489 INFO [stderr]     | |_^
Dec 01 06:27:05.489 INFO [stderr] 
Dec 01 06:27:05.489 INFO [stderr] warning: trait method `Scatter` should have a snake case name such as `scatter`
Dec 01 06:27:05.489 INFO [stderr]    --> src/math3d.rs:494:5
Dec 01 06:27:05.489 INFO [stderr]     |
Dec 01 06:27:05.489 INFO [stderr] 494 |     fn Scatter(&self,r_in:&Ray,rec:&HitRecord,attenuation:&mut v3f,scattered:&mut Ray)->bool;
Dec 01 06:27:05.489 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.489 INFO [stderr] 
Dec 01 06:27:05.489 INFO [stderr] warning: function `Reflect` should have a snake case name such as `reflect`
Dec 01 06:27:05.489 INFO [stderr]    --> src/math3d.rs:573:1
Dec 01 06:27:05.489 INFO [stderr]     |
Dec 01 06:27:05.489 INFO [stderr] 573 | / pub fn Reflect(v:&v3f,n:&v3f)->v3f{
Dec 01 06:27:05.489 INFO [stderr] 574 | |     let dot=2.0*VecDot3D(v,n);
Dec 01 06:27:05.489 INFO [stderr] 575 | |     let t=VecMul3D(n,dot);
Dec 01 06:27:05.489 INFO [stderr] 576 | |     VecSub3D(v,&t)
Dec 01 06:27:05.489 INFO [stderr] 577 | | }
Dec 01 06:27:05.489 INFO [stderr]     | |_^
Dec 01 06:27:05.489 INFO [stderr] 
Dec 01 06:27:05.489 INFO [stderr] warning: function `Refract` should have a snake case name such as `refract`
Dec 01 06:27:05.489 INFO [stderr]    --> src/math3d.rs:579:1
Dec 01 06:27:05.489 INFO [stderr]     |
Dec 01 06:27:05.489 INFO [stderr] 579 | / pub fn Refract(v:&v3f,n:&v3f,ni_over_nt:f32,refracted:& mut v3f)-> bool{
Dec 01 06:27:05.489 INFO [stderr] 580 | |
Dec 01 06:27:05.489 INFO [stderr] 581 | |     let uv=VecNorm3D(v);
Dec 01 06:27:05.489 INFO [stderr] 582 | |
Dec 01 06:27:05.489 INFO [stderr] ...   |
Dec 01 06:27:05.489 INFO [stderr] 612 | |     false
Dec 01 06:27:05.489 INFO [stderr] 613 | | }
Dec 01 06:27:05.489 INFO [stderr]     | |_^
Dec 01 06:27:05.489 INFO [stderr] 
Dec 01 06:27:05.489 INFO [stderr] warning: function `Schlick` should have a snake case name such as `schlick`
Dec 01 06:27:05.489 INFO [stderr]    --> src/math3d.rs:615:1
Dec 01 06:27:05.489 INFO [stderr]     |
Dec 01 06:27:05.489 INFO [stderr] 615 | / pub fn Schlick(cosine:f32,ref_idx:f32)->f32{
Dec 01 06:27:05.489 INFO [stderr] 616 | |     let mut r0=(1.0-ref_idx)/(1.0+ref_idx);
Dec 01 06:27:05.489 INFO [stderr] 617 | |     r0=r0*r0;
Dec 01 06:27:05.489 INFO [stderr] 618 | |     return r0+ ( (1.0-r0)*( (1.0-cosine).powf(5.0) ) );
Dec 01 06:27:05.489 INFO [stderr] 619 | | }
Dec 01 06:27:05.489 INFO [stderr]     | |_^
Dec 01 06:27:05.489 INFO [stderr] 
Dec 01 06:27:05.489 INFO [stderr] warning: function `CreateRandomScene` should have a snake case name such as `create_random_scene`
Dec 01 06:27:05.489 INFO [stderr]   --> src/main.rs:10:1
Dec 01 06:27:05.489 INFO [stderr]    |
Dec 01 06:27:05.489 INFO [stderr] 10 | / pub fn CreateRandomScene(world:& mut math3d::World){
Dec 01 06:27:05.489 INFO [stderr] 11 | |     let n=500;
Dec 01 06:27:05.489 INFO [stderr] 12 | |     
Dec 01 06:27:05.489 INFO [stderr] 13 | | }
Dec 01 06:27:05.489 INFO [stderr]    | |_^
Dec 01 06:27:05.489 INFO [stderr] 
Dec 01 06:27:05.489 INFO [stderr] warning: type `v3f` should have a camel case name such as `V3f`
Dec 01 06:27:05.489 INFO [stderr]   --> src/main.rs:16:5
Dec 01 06:27:05.489 INFO [stderr]    |
Dec 01 06:27:05.489 INFO [stderr] 16 |     type v3f=math3d::Vec3D<f32>;
Dec 01 06:27:05.489 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.489 INFO [stderr] 
Dec 01 06:27:05.489 INFO [stderr] warning: type `v3i` should have a camel case name such as `V3i`
Dec 01 06:27:05.489 INFO [stderr]   --> src/main.rs:17:5
Dec 01 06:27:05.489 INFO [stderr]    |
Dec 01 06:27:05.489 INFO [stderr] 17 |     type v3i=math3d::Vec3D<i32>;
Dec 01 06:27:05.489 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.489 INFO [stderr] 
Dec 01 06:27:05.489 INFO [stderr] warning: unused `std::result::Result` that must be used
Dec 01 06:27:05.489 INFO [stderr]   --> src/main.rs:38:5
Dec 01 06:27:05.489 INFO [stderr]    |
Dec 01 06:27:05.489 INFO [stderr] 38 |     writeln!(buffer,"P3");
Dec 01 06:27:05.489 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.489 INFO [stderr]    |
Dec 01 06:27:05.489 INFO [stderr]    = note: #[warn(unused_must_use)] on by default
Dec 01 06:27:05.489 INFO [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
Dec 01 06:27:05.489 INFO [stderr]    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
Dec 01 06:27:05.490 INFO [stderr] 
Dec 01 06:27:05.490 INFO [stderr] warning: unused `std::result::Result` that must be used
Dec 01 06:27:05.490 INFO [stderr]   --> src/main.rs:39:5
Dec 01 06:27:05.490 INFO [stderr]    |
Dec 01 06:27:05.490 INFO [stderr] 39 |     writeln!(buffer,"{} {}",nx,ny);
Dec 01 06:27:05.490 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.490 INFO [stderr]    |
Dec 01 06:27:05.490 INFO [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
Dec 01 06:27:05.490 INFO [stderr]    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
Dec 01 06:27:05.490 INFO [stderr] 
Dec 01 06:27:05.490 INFO [stderr] warning: unused `std::result::Result` that must be used
Dec 01 06:27:05.490 INFO [stderr]   --> src/main.rs:40:5
Dec 01 06:27:05.490 INFO [stderr]    |
Dec 01 06:27:05.490 INFO [stderr] 40 |     writeln!(buffer,"255");
Dec 01 06:27:05.490 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.490 INFO [stderr]    |
Dec 01 06:27:05.490 INFO [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
Dec 01 06:27:05.490 INFO [stderr]    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
Dec 01 06:27:05.490 INFO [stderr] 
Dec 01 06:27:05.490 INFO [stderr] warning: unused `std::result::Result` that must be used
Dec 01 06:27:05.490 INFO [stderr]    --> src/main.rs:149:17
Dec 01 06:27:05.490 INFO [stderr]     |
Dec 01 06:27:05.490 INFO [stderr] 149 |                 writeln!(buffer,"{} {} {}",iclr.x,iclr.y,iclr.z);
Dec 01 06:27:05.490 INFO [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:05.490 INFO [stderr]     |
Dec 01 06:27:05.490 INFO [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
Dec 01 06:27:05.490 INFO [stderr]     = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
Dec 01 06:27:05.490 INFO [stderr] 
Dec 01 06:27:06.168 INFO [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.34s
Dec 01 06:27:06.172 INFO [stderr] su: No module specific data is present
Dec 01 06:27:06.839 INFO running `"docker" "inspect" "bab8a22b17f2df676a8a182b2b4c0a60065353292f77604526720a6fc34b1960"`
Dec 01 06:27:07.135 INFO running `"docker" "rm" "-f" "bab8a22b17f2df676a8a182b2b4c0a60065353292f77604526720a6fc34b1960"`
Dec 01 06:27:07.402 INFO [stdout] bab8a22b17f2df676a8a182b2b4c0a60065353292f77604526720a6fc34b1960
Dec 01 06:27:07.405 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.31-5/worker-0/master#8940af3cea4a9a9deabcaf843b2f8cad9a83fc61:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-0/beta-1.31-5/master#8940af3cea4a9a9deabcaf843b2f8cad9a83fc61:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +8940af3cea4a9a9deabcaf843b2f8cad9a83fc61-alt test --frozen --no-run" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"`
Dec 01 06:27:07.872 INFO [stdout] 28926c0b9ab84bae59587d0abbe6d7c0ab35f02e50397d467463d41da30abfee
Dec 01 06:27:07.874 INFO running `"docker" "start" "-a" "28926c0b9ab84bae59587d0abbe6d7c0ab35f02e50397d467463d41da30abfee"`
Dec 01 06:27:08.849 INFO [stderr] usermod: no changes
Dec 01 06:27:08.898 INFO [stderr]    Compiling ray_tracing v0.1.0 (/source)
Dec 01 06:27:09.244 INFO [stderr] warning: unused imports: `fmt`, `ptr`
Dec 01 06:27:09.244 INFO [stderr]  --> src/math3d.rs:3:11
Dec 01 06:27:09.244 INFO [stderr]   |
Dec 01 06:27:09.244 INFO [stderr] 3 | use std::{ptr,fmt};
Dec 01 06:27:09.244 INFO [stderr]   |           ^^^ ^^^
Dec 01 06:27:09.244 INFO [stderr]   |
Dec 01 06:27:09.244 INFO [stderr]   = note: #[warn(unused_imports)] on by default
Dec 01 06:27:09.244 INFO [stderr] 
Dec 01 06:27:09.244 INFO [stderr] warning: unused import: `Duration`
Dec 01 06:27:09.244 INFO [stderr]  --> src/main.rs:7:17
Dec 01 06:27:09.244 INFO [stderr]   |
Dec 01 06:27:09.244 INFO [stderr] 7 | use std::time::{Duration, Instant};
Dec 01 06:27:09.244 INFO [stderr]   |                 ^^^^^^^^
Dec 01 06:27:09.244 INFO [stderr] 
Dec 01 06:27:09.395 INFO [stderr] warning: unused variable: `b`
Dec 01 06:27:09.395 INFO [stderr]    --> src/math3d.rs:192:13
Dec 01 06:27:09.395 INFO [stderr]     |
Dec 01 06:27:09.395 INFO [stderr] 192 |         let b:bool;
Dec 01 06:27:09.395 INFO [stderr]     |             ^ help: consider using `_b` instead
Dec 01 06:27:09.395 INFO [stderr]     |
Dec 01 06:27:09.395 INFO [stderr]     = note: #[warn(unused_variables)] on by default
Dec 01 06:27:09.395 INFO [stderr] 
Dec 01 06:27:09.395 INFO [stderr] warning: value assigned to `p` is never read
Dec 01 06:27:09.395 INFO [stderr]    --> src/math3d.rs:481:13
Dec 01 06:27:09.395 INFO [stderr]     |
Dec 01 06:27:09.395 INFO [stderr] 481 |     let mut p=v3f{x:0.0,y:0.0,z:0.0};
Dec 01 06:27:09.395 INFO [stderr]     |             ^
Dec 01 06:27:09.395 INFO [stderr]     |
Dec 01 06:27:09.395 INFO [stderr]     = note: #[warn(unused_assignments)] on by default
Dec 01 06:27:09.395 INFO [stderr] 
Dec 01 06:27:09.395 INFO [stderr] warning: unused variable: `n`
Dec 01 06:27:09.395 INFO [stderr]   --> src/main.rs:11:9
Dec 01 06:27:09.395 INFO [stderr]    |
Dec 01 06:27:09.395 INFO [stderr] 11 |     let n=500;
Dec 01 06:27:09.395 INFO [stderr]    |         ^ help: consider using `_n` instead
Dec 01 06:27:09.395 INFO [stderr] 
Dec 01 06:27:09.410 INFO [stderr] warning: unused variable: `world`
Dec 01 06:27:09.410 INFO [stderr]   --> src/main.rs:10:26
Dec 01 06:27:09.410 INFO [stderr]    |
Dec 01 06:27:09.410 INFO [stderr] 10 | pub fn CreateRandomScene(world:& mut math3d::World){
Dec 01 06:27:09.410 INFO [stderr]    |                          ^^^^^ help: consider using `_world` instead
Dec 01 06:27:09.410 INFO [stderr] 
Dec 01 06:27:09.410 INFO [stderr] warning: unused variable: `lower_lef_corner`
Dec 01 06:27:09.410 INFO [stderr]   --> src/main.rs:42:9
Dec 01 06:27:09.410 INFO [stderr]    |
Dec 01 06:27:09.410 INFO [stderr] 42 |     let lower_lef_corner:v3f=v3f{x:-2.0,y:-1.0,z:-1.0};
Dec 01 06:27:09.410 INFO [stderr]    |         ^^^^^^^^^^^^^^^^ help: consider using `_lower_lef_corner` instead
Dec 01 06:27:09.410 INFO [stderr] 
Dec 01 06:27:09.410 INFO [stderr] warning: unused variable: `horizontal`
Dec 01 06:27:09.410 INFO [stderr]   --> src/main.rs:43:9
Dec 01 06:27:09.411 INFO [stderr]    |
Dec 01 06:27:09.411 INFO [stderr] 43 |     let horizontal:v3f=v3f{x:4.0,y:0.0,z:0.0};
Dec 01 06:27:09.411 INFO [stderr]    |         ^^^^^^^^^^ help: consider using `_horizontal` instead
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: unused variable: `vertical`
Dec 01 06:27:09.411 INFO [stderr]   --> src/main.rs:44:9
Dec 01 06:27:09.411 INFO [stderr]    |
Dec 01 06:27:09.411 INFO [stderr] 44 |     let vertical:v3f=v3f{x:0.0,y:2.0,z:0.0};
Dec 01 06:27:09.411 INFO [stderr]    |         ^^^^^^^^ help: consider using `_vertical` instead
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: unused variable: `origin`
Dec 01 06:27:09.411 INFO [stderr]   --> src/main.rs:45:9
Dec 01 06:27:09.411 INFO [stderr]    |
Dec 01 06:27:09.411 INFO [stderr] 45 |     let origin:v3f=v3f{x:0.0,y:0.0,z:0.0};
Dec 01 06:27:09.411 INFO [stderr]    |         ^^^^^^ help: consider using `_origin` instead
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: unused variable: `v00`
Dec 01 06:27:09.411 INFO [stderr]    --> src/main.rs:101:9
Dec 01 06:27:09.411 INFO [stderr]     |
Dec 01 06:27:09.411 INFO [stderr] 101 |     let v00=math3d::VecSub3D(&look_from,&look_at);
Dec 01 06:27:09.411 INFO [stderr]     |         ^^^ help: consider using `_v00` instead
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: value assigned to `r1` is never read
Dec 01 06:27:09.411 INFO [stderr]    --> src/main.rs:122:25
Dec 01 06:27:09.411 INFO [stderr]     |
Dec 01 06:27:09.411 INFO [stderr] 122 |                 let mut r1:f32=0.0;
Dec 01 06:27:09.411 INFO [stderr]     |                         ^^
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: value assigned to `r2` is never read
Dec 01 06:27:09.411 INFO [stderr]    --> src/main.rs:123:25
Dec 01 06:27:09.411 INFO [stderr]     |
Dec 01 06:27:09.411 INFO [stderr] 123 |                 let mut r2:f32=0.0;
Dec 01 06:27:09.411 INFO [stderr]     |                         ^^
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: unused variable: `s`
Dec 01 06:27:09.411 INFO [stderr]    --> src/main.rs:126:21
Dec 01 06:27:09.411 INFO [stderr]     |
Dec 01 06:27:09.411 INFO [stderr] 126 |                 for s in 0..ns{
Dec 01 06:27:09.411 INFO [stderr]     |                     ^ help: consider using `_s` instead
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: unused variable: `hit`
Dec 01 06:27:09.411 INFO [stderr]    --> src/math3d.rs:283:21
Dec 01 06:27:09.411 INFO [stderr]     |
Dec 01 06:27:09.411 INFO [stderr] 283 |             let mut hit:bool=false;
Dec 01 06:27:09.411 INFO [stderr]     |                     ^^^ help: consider using `_hit` instead
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: unused variable: `r_in`
Dec 01 06:27:09.411 INFO [stderr]    --> src/math3d.rs:513:25
Dec 01 06:27:09.411 INFO [stderr]     |
Dec 01 06:27:09.411 INFO [stderr] 513 |        fn Scatter(&self,r_in:&Ray,rec:&HitRecord,attenuation:&mut v3f,scattered:&mut Ray)->bool{
Dec 01 06:27:09.411 INFO [stderr]     |                         ^^^^ help: consider using `_r_in` instead
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: value assigned to `ni_over_nt` is never read
Dec 01 06:27:09.411 INFO [stderr]    --> src/math3d.rs:640:21
Dec 01 06:27:09.411 INFO [stderr]     |
Dec 01 06:27:09.411 INFO [stderr] 640 |             let mut ni_over_nt:f32=0.0;
Dec 01 06:27:09.411 INFO [stderr]     |                     ^^^^^^^^^^
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: value assigned to `cosine` is never read
Dec 01 06:27:09.411 INFO [stderr]    --> src/math3d.rs:647:21
Dec 01 06:27:09.411 INFO [stderr]     |
Dec 01 06:27:09.411 INFO [stderr] 647 |             let mut cosine:f32=0.0;
Dec 01 06:27:09.411 INFO [stderr]     |                     ^^^^^^
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.411 INFO [stderr] warning: value assigned to `reflect_prob` is never read
Dec 01 06:27:09.411 INFO [stderr]    --> src/math3d.rs:648:21
Dec 01 06:27:09.411 INFO [stderr]     |
Dec 01 06:27:09.411 INFO [stderr] 648 |             let mut reflect_prob:f32=0.0;
Dec 01 06:27:09.411 INFO [stderr]     |                     ^^^^^^^^^^^^
Dec 01 06:27:09.411 INFO [stderr] 
Dec 01 06:27:09.413 INFO [stderr] warning: variable does not need to be mutable
Dec 01 06:27:09.413 INFO [stderr]   --> src/math3d.rs:54:13
Dec 01 06:27:09.413 INFO [stderr]    |
Dec 01 06:27:09.413 INFO [stderr] 54 |         let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z;
Dec 01 06:27:09.413 INFO [stderr]    |             ----^^^^^
Dec 01 06:27:09.413 INFO [stderr]    |             |
Dec 01 06:27:09.414 INFO [stderr]    |             help: remove this `mut`
Dec 01 06:27:09.414 INFO [stderr]    |
Dec 01 06:27:09.414 INFO [stderr]    = note: #[warn(unused_mut)] on by default
Dec 01 06:27:09.414 INFO [stderr] 
Dec 01 06:27:09.414 INFO [stderr] warning: variable does not need to be mutable
Dec 01 06:27:09.414 INFO [stderr]   --> src/math3d.rs:59:13
Dec 01 06:27:09.414 INFO [stderr]    |
Dec 01 06:27:09.414 INFO [stderr] 59 |         let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z;
Dec 01 06:27:09.414 INFO [stderr]    |             ----^^^^^
Dec 01 06:27:09.414 INFO [stderr]    |             |
Dec 01 06:27:09.414 INFO [stderr]    |             help: remove this `mut`
Dec 01 06:27:09.414 INFO [stderr] 
Dec 01 06:27:09.423 INFO [stderr] warning: variable does not need to be mutable
Dec 01 06:27:09.423 INFO [stderr]    --> src/math3d.rs:190:21
Dec 01 06:27:09.423 INFO [stderr]     |
Dec 01 06:27:09.423 INFO [stderr] 190 |     pub fn GetColor(mut ray:Ray,world:& World,depth:i16)->v3f{
Dec 01 06:27:09.423 INFO [stderr]     |                     ----^^^
Dec 01 06:27:09.423 INFO [stderr]     |                     |
Dec 01 06:27:09.423 INFO [stderr]     |                     help: remove this `mut`
Dec 01 06:27:09.423 INFO [stderr] 
Dec 01 06:27:09.423 INFO [stderr] warning: variable does not need to be mutable
Dec 01 06:27:09.424 INFO [stderr]    --> src/math3d.rs:226:17
Dec 01 06:27:09.424 INFO [stderr]     |
Dec 01 06:27:09.424 INFO [stderr] 226 |             let mut unit_direction=VecNorm3D(&ray.direction);
Dec 01 06:27:09.424 INFO [stderr]     |                 ----^^^^^^^^^^^^^^
Dec 01 06:27:09.424 INFO [stderr]     |                 |
Dec 01 06:27:09.424 INFO [stderr]     |                 help: remove this `mut`
Dec 01 06:27:09.424 INFO [stderr] 
Dec 01 06:27:09.424 INFO [stderr] warning: variable does not need to be mutable
Dec 01 06:27:09.424 INFO [stderr]    --> src/math3d.rs:283:17
Dec 01 06:27:09.424 INFO [stderr]     |
Dec 01 06:27:09.424 INFO [stderr] 283 |             let mut hit:bool=false;
Dec 01 06:27:09.424 INFO [stderr]     |                 ----^^^
Dec 01 06:27:09.424 INFO [stderr]     |                 |
Dec 01 06:27:09.424 INFO [stderr]     |                 help: remove this `mut`
Dec 01 06:27:09.424 INFO [stderr] 
Dec 01 06:27:09.438 INFO [stderr] warning: type alias is never used: `v3i`
Dec 01 06:27:09.438 INFO [stderr]   --> src/math3d.rs:17:1
Dec 01 06:27:09.438 INFO [stderr]    |
Dec 01 06:27:09.438 INFO [stderr] 17 | type v3i=Vec3D<i32>;
Dec 01 06:27:09.438 INFO [stderr]    | ^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.438 INFO [stderr]    |
Dec 01 06:27:09.438 INFO [stderr]    = note: #[warn(dead_code)] on by default
Dec 01 06:27:09.438 INFO [stderr] 
Dec 01 06:27:09.438 INFO [stderr] warning: function is never used: `Refrect`
Dec 01 06:27:09.438 INFO [stderr]    --> src/math3d.rs:134:1
Dec 01 06:27:09.438 INFO [stderr]     |
Dec 01 06:27:09.439 INFO [stderr] 134 | pub fn Refrect(v:&v3f,n:&v3f)->v3f{
Dec 01 06:27:09.439 INFO [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.439 INFO [stderr] 
Dec 01 06:27:09.439 INFO [stderr] warning: function is never used: `HitSphere`
Dec 01 06:27:09.439 INFO [stderr]    --> src/math3d.rs:246:1
Dec 01 06:27:09.439 INFO [stderr]     |
Dec 01 06:27:09.439 INFO [stderr] 246 | pub fn HitSphere(center:v3f,radius:f32,r:Ray)->f32 {
Dec 01 06:27:09.439 INFO [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.439 INFO [stderr] 
Dec 01 06:27:09.439 INFO [stderr] warning: method is never used: `new`
Dec 01 06:27:09.439 INFO [stderr]    --> src/math3d.rs:322:5
Dec 01 06:27:09.439 INFO [stderr]     |
Dec 01 06:27:09.439 INFO [stderr] 322 |     pub fn new()->Self{
Dec 01 06:27:09.439 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.439 INFO [stderr] 
Dec 01 06:27:09.439 INFO [stderr] warning: method is never used: `GetRay`
Dec 01 06:27:09.439 INFO [stderr]    --> src/math3d.rs:336:5
Dec 01 06:27:09.439 INFO [stderr]     |
Dec 01 06:27:09.439 INFO [stderr] 336 |     pub fn GetRay(&self,u:f32,v:f32)->Ray{
Dec 01 06:27:09.439 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.439 INFO [stderr] 
Dec 01 06:27:09.439 INFO [stderr] warning: method is never used: `GetRayOld`
Dec 01 06:27:09.439 INFO [stderr]    --> src/math3d.rs:436:5
Dec 01 06:27:09.439 INFO [stderr]     |
Dec 01 06:27:09.440 INFO [stderr] 436 |     pub fn GetRayOld(&self,u:f32,v:f32)->Ray{
Dec 01 06:27:09.440 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.440 INFO [stderr] 
Dec 01 06:27:09.440 INFO [stderr] warning: method is never used: `new`
Dec 01 06:27:09.440 INFO [stderr]    --> src/math3d.rs:502:5
Dec 01 06:27:09.440 INFO [stderr]     |
Dec 01 06:27:09.440 INFO [stderr] 502 |     pub fn new(a:v3f)->Self{
Dec 01 06:27:09.440 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.440 INFO [stderr] 
Dec 01 06:27:09.440 INFO [stderr] warning: method is never used: `new`
Dec 01 06:27:09.440 INFO [stderr]    --> src/math3d.rs:539:5
Dec 01 06:27:09.440 INFO [stderr]     |
Dec 01 06:27:09.440 INFO [stderr] 539 |     pub fn new(a:v3f,f:f32)->Self{
Dec 01 06:27:09.440 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.440 INFO [stderr] 
Dec 01 06:27:09.440 INFO [stderr] warning: method is never used: `new`
Dec 01 06:27:09.440 INFO [stderr]    --> src/math3d.rs:627:5
Dec 01 06:27:09.440 INFO [stderr]     |
Dec 01 06:27:09.440 INFO [stderr] 627 |     pub fn new(ri:f32)->Self{
Dec 01 06:27:09.440 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.440 INFO [stderr] 
Dec 01 06:27:09.443 INFO [stderr] warning: type `v3f` should have a camel case name such as `V3f`
Dec 01 06:27:09.443 INFO [stderr]   --> src/math3d.rs:16:1
Dec 01 06:27:09.444 INFO [stderr]    |
Dec 01 06:27:09.444 INFO [stderr] 16 | type v3f=Vec3D<f32>;
Dec 01 06:27:09.444 INFO [stderr]    | ^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.444 INFO [stderr]    |
Dec 01 06:27:09.444 INFO [stderr]    = note: #[warn(non_camel_case_types)] on by default
Dec 01 06:27:09.444 INFO [stderr] 
Dec 01 06:27:09.444 INFO [stderr] warning: type `v3i` should have a camel case name such as `V3i`
Dec 01 06:27:09.444 INFO [stderr]   --> src/math3d.rs:17:1
Dec 01 06:27:09.444 INFO [stderr]    |
Dec 01 06:27:09.444 INFO [stderr] 17 | type v3i=Vec3D<i32>;
Dec 01 06:27:09.444 INFO [stderr]    | ^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.444 INFO [stderr] 
Dec 01 06:27:09.444 INFO [stderr] warning: trait method `Hit` should have a snake case name such as `hit`
Dec 01 06:27:09.444 INFO [stderr]   --> src/math3d.rs:40:5
Dec 01 06:27:09.444 INFO [stderr]    |
Dec 01 06:27:09.444 INFO [stderr] 40 |     fn Hit(&self,r:Ray,t_min:f32,t_max:f32,rec:& mut  HitRecord)->bool;
Dec 01 06:27:09.444 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.444 INFO [stderr]    |
Dec 01 06:27:09.444 INFO [stderr]    = note: #[warn(non_snake_case)] on by default
Dec 01 06:27:09.445 INFO [stderr] 
Dec 01 06:27:09.445 INFO [stderr] warning: trait method `GetMaterial` should have a snake case name such as `get_material`
Dec 01 06:27:09.445 INFO [stderr]   --> src/math3d.rs:41:5
Dec 01 06:27:09.445 INFO [stderr]    |
Dec 01 06:27:09.445 INFO [stderr] 41 |     fn GetMaterial(&self)->& Box<Material>;
Dec 01 06:27:09.445 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.445 INFO [stderr] 
Dec 01 06:27:09.445 INFO [stderr] warning: method `Length` should have a snake case name such as `length`
Dec 01 06:27:09.445 INFO [stderr]   --> src/math3d.rs:53:5
Dec 01 06:27:09.445 INFO [stderr]    |
Dec 01 06:27:09.445 INFO [stderr] 53 | /     pub fn Length(&self)-> f32{
Dec 01 06:27:09.445 INFO [stderr] 54 | |         let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z;
Dec 01 06:27:09.445 INFO [stderr] 55 | |         value.sqrt()
Dec 01 06:27:09.445 INFO [stderr] 56 | |     }
Dec 01 06:27:09.445 INFO [stderr]    | |_____^
Dec 01 06:27:09.445 INFO [stderr] 
Dec 01 06:27:09.445 INFO [stderr] warning: method `SquaredLength` should have a snake case name such as `squared_length`
Dec 01 06:27:09.445 INFO [stderr]   --> src/math3d.rs:58:5
Dec 01 06:27:09.445 INFO [stderr]    |
Dec 01 06:27:09.445 INFO [stderr] 58 | /     pub fn SquaredLength(&self)-> f32{
Dec 01 06:27:09.445 INFO [stderr] 59 | |         let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z;
Dec 01 06:27:09.445 INFO [stderr] 60 | |         value
Dec 01 06:27:09.445 INFO [stderr] 61 | |     }
Dec 01 06:27:09.445 INFO [stderr]    | |_____^
Dec 01 06:27:09.446 INFO [stderr] 
Dec 01 06:27:09.446 INFO [stderr] warning: method `ToI32` should have a snake case name such as `to_i32`
Dec 01 06:27:09.446 INFO [stderr]   --> src/math3d.rs:63:5
Dec 01 06:27:09.446 INFO [stderr]    |
Dec 01 06:27:09.446 INFO [stderr] 63 | /     pub fn ToI32(&self)->Vec3D<i32>{
Dec 01 06:27:09.446 INFO [stderr] 64 | |         Vec3D{x:self.x as i32,y:self.y as i32,z:self.z as i32}
Dec 01 06:27:09.446 INFO [stderr] 65 | |     }
Dec 01 06:27:09.446 INFO [stderr]    | |_____^
Dec 01 06:27:09.446 INFO [stderr] 
Dec 01 06:27:09.446 INFO [stderr] warning: method `PointAtParameter` should have a snake case name such as `point_at_parameter`
Dec 01 06:27:09.446 INFO [stderr]   --> src/math3d.rs:82:5
Dec 01 06:27:09.446 INFO [stderr]    |
Dec 01 06:27:09.446 INFO [stderr] 82 | /     pub fn PointAtParameter(&self,t:f32) -> v3f{
Dec 01 06:27:09.446 INFO [stderr] 83 | |         let v=VecMul3D(&self.direction,t);
Dec 01 06:27:09.446 INFO [stderr] 84 | |         let r=VecAdd3D(&self.origin,&v);
Dec 01 06:27:09.446 INFO [stderr] 85 | |         r
Dec 01 06:27:09.446 INFO [stderr] 86 | |     }
Dec 01 06:27:09.446 INFO [stderr]    | |_____^
Dec 01 06:27:09.446 INFO [stderr] 
Dec 01 06:27:09.446 INFO [stderr] warning: function `VecDot3D` should have a snake case name such as `vec_dot3_d`
Dec 01 06:27:09.446 INFO [stderr]   --> src/math3d.rs:90:1
Dec 01 06:27:09.446 INFO [stderr]    |
Dec 01 06:27:09.446 INFO [stderr] 90 | / pub fn VecDot3D(v1:&Vec3D<f32>,v2:&Vec3D<f32>)-> f32{
Dec 01 06:27:09.446 INFO [stderr] 91 | |     (v1.x*v2.x+v1.y*v2.y+v1.z*v2.z)
Dec 01 06:27:09.447 INFO [stderr] 92 | | }
Dec 01 06:27:09.447 INFO [stderr]    | |_^
Dec 01 06:27:09.447 INFO [stderr] 
Dec 01 06:27:09.447 INFO [stderr] warning: function `VecCross3D` should have a snake case name such as `vec_cross3_d`
Dec 01 06:27:09.447 INFO [stderr]    --> src/math3d.rs:94:1
Dec 01 06:27:09.447 INFO [stderr]     |
Dec 01 06:27:09.447 INFO [stderr] 94  | / pub fn VecCross3D(v1:&Vec3D<f32>,v2:&Vec3D<f32>)-> Vec3D<f32>{
Dec 01 06:27:09.447 INFO [stderr] 95  | |     let x=v1.y*v2.z-v1.z*v2.y;
Dec 01 06:27:09.447 INFO [stderr] 96  | |     let y=-(v1.x*v2.z)-v1.z*v2.x;
Dec 01 06:27:09.447 INFO [stderr] 97  | |     let z=v1.x*v2.y-v1.y*v2.x;
Dec 01 06:27:09.447 INFO [stderr] 98  | |
Dec 01 06:27:09.447 INFO [stderr] 99  | |     Vec3D{x:x,y:y,z:z}
Dec 01 06:27:09.447 INFO [stderr] 100 | | }
Dec 01 06:27:09.447 INFO [stderr]     | |_^
Dec 01 06:27:09.447 INFO [stderr] 
Dec 01 06:27:09.447 INFO [stderr] warning: function `VecAdd3D` should have a snake case name such as `vec_add3_d`
Dec 01 06:27:09.447 INFO [stderr]    --> src/math3d.rs:102:1
Dec 01 06:27:09.447 INFO [stderr]     |
Dec 01 06:27:09.447 INFO [stderr] 102 | / pub fn VecAdd3D(v1:&Vec3D<f32>,v2:&Vec3D<f32>)-> Vec3D<f32>{
Dec 01 06:27:09.447 INFO [stderr] 103 | |    Vec3D{x:v1.x+v2.x,y:v1.y+v2.y,z:v1.z+v2.z}
Dec 01 06:27:09.447 INFO [stderr] 104 | | }
Dec 01 06:27:09.447 INFO [stderr]     | |_^
Dec 01 06:27:09.447 INFO [stderr] 
Dec 01 06:27:09.447 INFO [stderr] warning: function `VecSub3D` should have a snake case name such as `vec_sub3_d`
Dec 01 06:27:09.448 INFO [stderr]    --> src/math3d.rs:106:1
Dec 01 06:27:09.448 INFO [stderr]     |
Dec 01 06:27:09.448 INFO [stderr] 106 | / pub fn VecSub3D(v1:&Vec3D<f32>,v2:&Vec3D<f32>)-> Vec3D<f32>{
Dec 01 06:27:09.448 INFO [stderr] 107 | |     Vec3D{x:v1.x-v2.x,y:v1.y-v2.y,z:v1.z-v2.z}
Dec 01 06:27:09.448 INFO [stderr] 108 | | }
Dec 01 06:27:09.448 INFO [stderr]     | |_^
Dec 01 06:27:09.448 INFO [stderr] 
Dec 01 06:27:09.448 INFO [stderr] warning: function `VecMul3D` should have a snake case name such as `vec_mul3_d`
Dec 01 06:27:09.448 INFO [stderr]    --> src/math3d.rs:110:1
Dec 01 06:27:09.448 INFO [stderr]     |
Dec 01 06:27:09.448 INFO [stderr] 110 | / pub fn VecMul3D(v:&Vec3D<f32>,f:f32)->Vec3D<f32>{
Dec 01 06:27:09.448 INFO [stderr] 111 | |     Vec3D{x:v.x*f,y:v.y*f,z:v.z*f}
Dec 01 06:27:09.448 INFO [stderr] 112 | | }
Dec 01 06:27:09.448 INFO [stderr]     | |_^
Dec 01 06:27:09.448 INFO [stderr] 
Dec 01 06:27:09.448 INFO [stderr] warning: function `VecMulVec3D` should have a snake case name such as `vec_mul_vec3_d`
Dec 01 06:27:09.448 INFO [stderr]    --> src/math3d.rs:114:1
Dec 01 06:27:09.448 INFO [stderr]     |
Dec 01 06:27:09.448 INFO [stderr] 114 | / pub fn VecMulVec3D(v1:&Vec3D<f32>,v2:&Vec3D<f32>)->Vec3D<f32>{
Dec 01 06:27:09.448 INFO [stderr] 115 | |     Vec3D{x:v1.x*v2.x,y:v1.y*v2.y,z:v1.z*v2.z}
Dec 01 06:27:09.448 INFO [stderr] 116 | | }
Dec 01 06:27:09.448 INFO [stderr]     | |_^
Dec 01 06:27:09.448 INFO [stderr] 
Dec 01 06:27:09.448 INFO [stderr] warning: function `VecDiv3D` should have a snake case name such as `vec_div3_d`
Dec 01 06:27:09.449 INFO [stderr]    --> src/math3d.rs:118:1
Dec 01 06:27:09.449 INFO [stderr]     |
Dec 01 06:27:09.449 INFO [stderr] 118 | / pub fn VecDiv3D(v:&v3f,f:f32)->v3f{
Dec 01 06:27:09.449 INFO [stderr] 119 | |
Dec 01 06:27:09.449 INFO [stderr] 120 | |     //this sucks I'll use an epsilon next time I promise
Dec 01 06:27:09.449 INFO [stderr] 121 | |     if f!=0.0 {
Dec 01 06:27:09.449 INFO [stderr] ...   |
Dec 01 06:27:09.449 INFO [stderr] 126 | |     }
Dec 01 06:27:09.449 INFO [stderr] 127 | | }
Dec 01 06:27:09.449 INFO [stderr]     | |_^
Dec 01 06:27:09.449 INFO [stderr] 
Dec 01 06:27:09.449 INFO [stderr] warning: function `VecNorm3D` should have a snake case name such as `vec_norm3_d`
Dec 01 06:27:09.449 INFO [stderr]    --> src/math3d.rs:129:1
Dec 01 06:27:09.449 INFO [stderr]     |
Dec 01 06:27:09.449 INFO [stderr] 129 | / pub fn VecNorm3D(v:&v3f)->v3f{
Dec 01 06:27:09.449 INFO [stderr] 130 | |     let length=v.Length();
Dec 01 06:27:09.449 INFO [stderr] 131 | |     VecDiv3D(v,length)
Dec 01 06:27:09.449 INFO [stderr] 132 | | }
Dec 01 06:27:09.449 INFO [stderr]     | |_^
Dec 01 06:27:09.449 INFO [stderr] 
Dec 01 06:27:09.449 INFO [stderr] warning: function `Refrect` should have a snake case name such as `refrect`
Dec 01 06:27:09.449 INFO [stderr]    --> src/math3d.rs:134:1
Dec 01 06:27:09.449 INFO [stderr]     |
Dec 01 06:27:09.449 INFO [stderr] 134 | / pub fn Refrect(v:&v3f,n:&v3f)->v3f{
Dec 01 06:27:09.449 INFO [stderr] 135 | |     let result=VecDot3D(&v,&n)*2.0;
Dec 01 06:27:09.450 INFO [stderr] 136 | |     let nn=VecMul3D(&n,result);
Dec 01 06:27:09.450 INFO [stderr] 137 | |     VecSub3D(&v,&nn)
Dec 01 06:27:09.450 INFO [stderr] 138 | | }
Dec 01 06:27:09.450 INFO [stderr]     | |_^
Dec 01 06:27:09.450 INFO [stderr] 
Dec 01 06:27:09.452 INFO [stderr] warning: function `GetColor` should have a snake case name such as `get_color`
Dec 01 06:27:09.452 INFO [stderr]    --> src/math3d.rs:190:5
Dec 01 06:27:09.452 INFO [stderr]     |
Dec 01 06:27:09.452 INFO [stderr] 190 | /     pub fn GetColor(mut ray:Ray,world:& World,depth:i16)->v3f{
Dec 01 06:27:09.452 INFO [stderr] 191 | |     
Dec 01 06:27:09.452 INFO [stderr] 192 | |         let b:bool;
Dec 01 06:27:09.452 INFO [stderr] 193 | |         
Dec 01 06:27:09.452 INFO [stderr] ...   |
Dec 01 06:27:09.452 INFO [stderr] 243 | |
Dec 01 06:27:09.452 INFO [stderr] 244 | |     }
Dec 01 06:27:09.452 INFO [stderr]     | |_____^
Dec 01 06:27:09.452 INFO [stderr] 
Dec 01 06:27:09.452 INFO [stderr] warning: function `HitSphere` should have a snake case name such as `hit_sphere`
Dec 01 06:27:09.452 INFO [stderr]    --> src/math3d.rs:246:1
Dec 01 06:27:09.452 INFO [stderr]     |
Dec 01 06:27:09.452 INFO [stderr] 246 | / pub fn HitSphere(center:v3f,radius:f32,r:Ray)->f32 {
Dec 01 06:27:09.452 INFO [stderr] 247 | |     let oc=VecSub3D(&r.origin,&center);
Dec 01 06:27:09.452 INFO [stderr] 248 | |     let a=VecDot3D(&r.direction,&r.direction);
Dec 01 06:27:09.452 INFO [stderr] 249 | |     let b=2.0*VecDot3D(&oc,&r.direction);
Dec 01 06:27:09.452 INFO [stderr] ...   |
Dec 01 06:27:09.452 INFO [stderr] 258 | |
Dec 01 06:27:09.452 INFO [stderr] 259 | | }
Dec 01 06:27:09.452 INFO [stderr]     | |_^
Dec 01 06:27:09.452 INFO [stderr] 
Dec 01 06:27:09.452 INFO [stderr] warning: method `Hit` should have a snake case name such as `hit`
Dec 01 06:27:09.452 INFO [stderr]    --> src/math3d.rs:276:9
Dec 01 06:27:09.452 INFO [stderr]     |
Dec 01 06:27:09.452 INFO [stderr] 276 | /         fn Hit(&self,r:Ray,t_min:f32,t_max:f32,rec:& mut HitRecord)->bool{
Dec 01 06:27:09.452 INFO [stderr] 277 | |
Dec 01 06:27:09.452 INFO [stderr] 278 | |             let mut hit_anything:bool=false;
Dec 01 06:27:09.452 INFO [stderr] 279 | |
Dec 01 06:27:09.452 INFO [stderr] ...   |
Dec 01 06:27:09.452 INFO [stderr] 307 | |             //return None;
Dec 01 06:27:09.452 INFO [stderr] 308 | |         }
Dec 01 06:27:09.452 INFO [stderr]     | |_________^
Dec 01 06:27:09.452 INFO [stderr] 
Dec 01 06:27:09.452 INFO [stderr] warning: method `GetRay` should have a snake case name such as `get_ray`
Dec 01 06:27:09.452 INFO [stderr]    --> src/math3d.rs:336:5
Dec 01 06:27:09.452 INFO [stderr]     |
Dec 01 06:27:09.452 INFO [stderr] 336 | /     pub fn GetRay(&self,u:f32,v:f32)->Ray{
Dec 01 06:27:09.452 INFO [stderr] 337 | |             let mut v1=VecMul3D(&self.horizontal,u);            
Dec 01 06:27:09.452 INFO [stderr] 338 | |             let v2=VecMul3D(&self.vertical,v);
Dec 01 06:27:09.452 INFO [stderr] 339 | |             
Dec 01 06:27:09.452 INFO [stderr] ...   |
Dec 01 06:27:09.452 INFO [stderr] 348 | |             r
Dec 01 06:27:09.452 INFO [stderr] 349 | |     }
Dec 01 06:27:09.452 INFO [stderr]     | |_____^
Dec 01 06:27:09.452 INFO [stderr] 
Dec 01 06:27:09.452 INFO [stderr] warning: function `RandomInUnitDisk` should have a snake case name such as `random_in_unit_disk`
Dec 01 06:27:09.452 INFO [stderr]    --> src/math3d.rs:354:1
Dec 01 06:27:09.452 INFO [stderr]     |
Dec 01 06:27:09.452 INFO [stderr] 354 | / pub fn RandomInUnitDisk()->v3f {
Dec 01 06:27:09.452 INFO [stderr] 355 | |
Dec 01 06:27:09.452 INFO [stderr] 356 | |     let mut do_loop=true;
Dec 01 06:27:09.452 INFO [stderr] 357 | |     let mut p=v3f::new();
Dec 01 06:27:09.452 INFO [stderr] ...   |
Dec 01 06:27:09.452 INFO [stderr] 375 | |
Dec 01 06:27:09.452 INFO [stderr] 376 | | }
Dec 01 06:27:09.452 INFO [stderr]     | |_^
Dec 01 06:27:09.452 INFO [stderr] 
Dec 01 06:27:09.452 INFO [stderr] warning: method `GetRayOld` should have a snake case name such as `get_ray_old`
Dec 01 06:27:09.452 INFO [stderr]    --> src/math3d.rs:436:5
Dec 01 06:27:09.452 INFO [stderr]     |
Dec 01 06:27:09.452 INFO [stderr] 436 | /     pub fn GetRayOld(&self,u:f32,v:f32)->Ray{
Dec 01 06:27:09.453 INFO [stderr] 437 | |             let mut v1=VecMul3D(&self.horizontal,u);            
Dec 01 06:27:09.453 INFO [stderr] 438 | |             let v2=VecMul3D(&self.vertical,v);
Dec 01 06:27:09.453 INFO [stderr] 439 | |             
Dec 01 06:27:09.453 INFO [stderr] ...   |
Dec 01 06:27:09.453 INFO [stderr] 448 | |             r
Dec 01 06:27:09.453 INFO [stderr] 449 | |     }
Dec 01 06:27:09.453 INFO [stderr]     | |_____^
Dec 01 06:27:09.453 INFO [stderr] 
Dec 01 06:27:09.453 INFO [stderr] warning: method `GetRay` should have a snake case name such as `get_ray`
Dec 01 06:27:09.453 INFO [stderr]    --> src/math3d.rs:451:5
Dec 01 06:27:09.453 INFO [stderr]     |
Dec 01 06:27:09.453 INFO [stderr] 451 | /     pub fn GetRay(&self,u:f32,v:f32)->Ray{
Dec 01 06:27:09.453 INFO [stderr] 452 | |
Dec 01 06:27:09.453 INFO [stderr] 453 | |             let rd_=RandomInUnitDisk();
Dec 01 06:27:09.453 INFO [stderr] 454 | |             let rd=VecMul3D(&rd_,self.lens_radius);
Dec 01 06:27:09.453 INFO [stderr] ...   |
Dec 01 06:27:09.453 INFO [stderr] 475 | |             r
Dec 01 06:27:09.453 INFO [stderr] 476 | |     }
Dec 01 06:27:09.453 INFO [stderr]     | |_____^
Dec 01 06:27:09.453 INFO [stderr] 
Dec 01 06:27:09.453 INFO [stderr] warning: function `RandomInUnitSphere` should have a snake case name such as `random_in_unit_sphere`
Dec 01 06:27:09.453 INFO [stderr]    --> src/math3d.rs:480:1
Dec 01 06:27:09.453 INFO [stderr]     |
Dec 01 06:27:09.453 INFO [stderr] 480 | / pub fn RandomInUnitSphere()->v3f{
Dec 01 06:27:09.453 INFO [stderr] 481 | |     let mut p=v3f{x:0.0,y:0.0,z:0.0};
Dec 01 06:27:09.453 INFO [stderr] 482 | |     loop {
Dec 01 06:27:09.453 INFO [stderr] 483 | |         let r1=thread_rng().gen_range(0.0,1.0);
Dec 01 06:27:09.453 INFO [stderr] ...   |
Dec 01 06:27:09.453 INFO [stderr] 490 | |     p
Dec 01 06:27:09.453 INFO [stderr] 491 | | }
Dec 01 06:27:09.453 INFO [stderr]     | |_^
Dec 01 06:27:09.453 INFO [stderr] 
Dec 01 06:27:09.453 INFO [stderr] warning: trait method `Scatter` should have a snake case name such as `scatter`
Dec 01 06:27:09.453 INFO [stderr]    --> src/math3d.rs:494:5
Dec 01 06:27:09.453 INFO [stderr]     |
Dec 01 06:27:09.453 INFO [stderr] 494 |     fn Scatter(&self,r_in:&Ray,rec:&HitRecord,attenuation:&mut v3f,scattered:&mut Ray)->bool;
Dec 01 06:27:09.454 INFO [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.454 INFO [stderr] 
Dec 01 06:27:09.454 INFO [stderr] warning: function `Reflect` should have a snake case name such as `reflect`
Dec 01 06:27:09.454 INFO [stderr]    --> src/math3d.rs:573:1
Dec 01 06:27:09.454 INFO [stderr]     |
Dec 01 06:27:09.454 INFO [stderr] 573 | / pub fn Reflect(v:&v3f,n:&v3f)->v3f{
Dec 01 06:27:09.454 INFO [stderr] 574 | |     let dot=2.0*VecDot3D(v,n);
Dec 01 06:27:09.454 INFO [stderr] 575 | |     let t=VecMul3D(n,dot);
Dec 01 06:27:09.454 INFO [stderr] 576 | |     VecSub3D(v,&t)
Dec 01 06:27:09.454 INFO [stderr] 577 | | }
Dec 01 06:27:09.454 INFO [stderr]     | |_^
Dec 01 06:27:09.454 INFO [stderr] 
Dec 01 06:27:09.454 INFO [stderr] warning: function `Refract` should have a snake case name such as `refract`
Dec 01 06:27:09.454 INFO [stderr]    --> src/math3d.rs:579:1
Dec 01 06:27:09.454 INFO [stderr]     |
Dec 01 06:27:09.454 INFO [stderr] 579 | / pub fn Refract(v:&v3f,n:&v3f,ni_over_nt:f32,refracted:& mut v3f)-> bool{
Dec 01 06:27:09.454 INFO [stderr] 580 | |
Dec 01 06:27:09.454 INFO [stderr] 581 | |     let uv=VecNorm3D(v);
Dec 01 06:27:09.454 INFO [stderr] 582 | |
Dec 01 06:27:09.454 INFO [stderr] ...   |
Dec 01 06:27:09.454 INFO [stderr] 612 | |     false
Dec 01 06:27:09.454 INFO [stderr] 613 | | }
Dec 01 06:27:09.454 INFO [stderr]     | |_^
Dec 01 06:27:09.454 INFO [stderr] 
Dec 01 06:27:09.454 INFO [stderr] warning: function `Schlick` should have a snake case name such as `schlick`
Dec 01 06:27:09.454 INFO [stderr]    --> src/math3d.rs:615:1
Dec 01 06:27:09.454 INFO [stderr]     |
Dec 01 06:27:09.454 INFO [stderr] 615 | / pub fn Schlick(cosine:f32,ref_idx:f32)->f32{
Dec 01 06:27:09.454 INFO [stderr] 616 | |     let mut r0=(1.0-ref_idx)/(1.0+ref_idx);
Dec 01 06:27:09.454 INFO [stderr] 617 | |     r0=r0*r0;
Dec 01 06:27:09.454 INFO [stderr] 618 | |     return r0+ ( (1.0-r0)*( (1.0-cosine).powf(5.0) ) );
Dec 01 06:27:09.454 INFO [stderr] 619 | | }
Dec 01 06:27:09.454 INFO [stderr]     | |_^
Dec 01 06:27:09.454 INFO [stderr] 
Dec 01 06:27:09.454 INFO [stderr] warning: function `CreateRandomScene` should have a snake case name such as `create_random_scene`
Dec 01 06:27:09.454 INFO [stderr]   --> src/main.rs:10:1
Dec 01 06:27:09.454 INFO [stderr]    |
Dec 01 06:27:09.454 INFO [stderr] 10 | / pub fn CreateRandomScene(world:& mut math3d::World){
Dec 01 06:27:09.454 INFO [stderr] 11 | |     let n=500;
Dec 01 06:27:09.454 INFO [stderr] 12 | |     
Dec 01 06:27:09.454 INFO [stderr] 13 | | }
Dec 01 06:27:09.454 INFO [stderr]    | |_^
Dec 01 06:27:09.454 INFO [stderr] 
Dec 01 06:27:09.454 INFO [stderr] warning: type `v3f` should have a camel case name such as `V3f`
Dec 01 06:27:09.454 INFO [stderr]   --> src/main.rs:16:5
Dec 01 06:27:09.454 INFO [stderr]    |
Dec 01 06:27:09.454 INFO [stderr] 16 |     type v3f=math3d::Vec3D<f32>;
Dec 01 06:27:09.454 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.454 INFO [stderr] 
Dec 01 06:27:09.454 INFO [stderr] warning: type `v3i` should have a camel case name such as `V3i`
Dec 01 06:27:09.454 INFO [stderr]   --> src/main.rs:17:5
Dec 01 06:27:09.454 INFO [stderr]    |
Dec 01 06:27:09.454 INFO [stderr] 17 |     type v3i=math3d::Vec3D<i32>;
Dec 01 06:27:09.454 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.454 INFO [stderr] 
Dec 01 06:27:09.454 INFO [stderr] warning: unused `std::result::Result` that must be used
Dec 01 06:27:09.454 INFO [stderr]   --> src/main.rs:38:5
Dec 01 06:27:09.454 INFO [stderr]    |
Dec 01 06:27:09.454 INFO [stderr] 38 |     writeln!(buffer,"P3");
Dec 01 06:27:09.454 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.454 INFO [stderr]    |
Dec 01 06:27:09.454 INFO [stderr]    = note: #[warn(unused_must_use)] on by default
Dec 01 06:27:09.454 INFO [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
Dec 01 06:27:09.454 INFO [stderr]    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
Dec 01 06:27:09.455 INFO [stderr] 
Dec 01 06:27:09.455 INFO [stderr] warning: unused `std::result::Result` that must be used
Dec 01 06:27:09.455 INFO [stderr]   --> src/main.rs:39:5
Dec 01 06:27:09.455 INFO [stderr]    |
Dec 01 06:27:09.455 INFO [stderr] 39 |     writeln!(buffer,"{} {}",nx,ny);
Dec 01 06:27:09.455 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.455 INFO [stderr]    |
Dec 01 06:27:09.455 INFO [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
Dec 01 06:27:09.455 INFO [stderr]    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
Dec 01 06:27:09.455 INFO [stderr] 
Dec 01 06:27:09.455 INFO [stderr] warning: unused `std::result::Result` that must be used
Dec 01 06:27:09.455 INFO [stderr]   --> src/main.rs:40:5
Dec 01 06:27:09.455 INFO [stderr]    |
Dec 01 06:27:09.455 INFO [stderr] 40 |     writeln!(buffer,"255");
Dec 01 06:27:09.455 INFO [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.455 INFO [stderr]    |
Dec 01 06:27:09.455 INFO [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
Dec 01 06:27:09.455 INFO [stderr]    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
Dec 01 06:27:09.455 INFO [stderr] 
Dec 01 06:27:09.455 INFO [stderr] warning: unused `std::result::Result` that must be used
Dec 01 06:27:09.455 INFO [stderr]    --> src/main.rs:149:17
Dec 01 06:27:09.455 INFO [stderr]     |
Dec 01 06:27:09.455 INFO [stderr] 149 |                 writeln!(buffer,"{} {} {}",iclr.x,iclr.y,iclr.z);
Dec 01 06:27:09.455 INFO [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Dec 01 06:27:09.455 INFO [stderr]     |
Dec 01 06:27:09.455 INFO [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
Dec 01 06:27:09.455 INFO [stderr]     = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
Dec 01 06:27:09.455 INFO [stderr] 
Dec 01 06:27:09.846 INFO [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.98s
Dec 01 06:27:09.854 INFO [stderr] su: No module specific data is present
Dec 01 06:27:10.726 INFO running `"docker" "inspect" "28926c0b9ab84bae59587d0abbe6d7c0ab35f02e50397d467463d41da30abfee"`
Dec 01 06:27:10.899 INFO running `"docker" "rm" "-f" "28926c0b9ab84bae59587d0abbe6d7c0ab35f02e50397d467463d41da30abfee"`
Dec 01 06:27:11.008 INFO [stdout] 28926c0b9ab84bae59587d0abbe6d7c0ab35f02e50397d467463d41da30abfee
Dec 01 06:27:11.012 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.31-5/worker-0/master#8940af3cea4a9a9deabcaf843b2f8cad9a83fc61:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-0/beta-1.31-5/master#8940af3cea4a9a9deabcaf843b2f8cad9a83fc61:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +8940af3cea4a9a9deabcaf843b2f8cad9a83fc61-alt test --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"`
Dec 01 06:27:11.268 INFO [stdout] 0990eaa94d801ee9132dcf0611dbef215a37c056dd1e53ca1c9c3531c5aeb383
Dec 01 06:27:11.274 INFO running `"docker" "start" "-a" "0990eaa94d801ee9132dcf0611dbef215a37c056dd1e53ca1c9c3531c5aeb383"`
Dec 01 06:27:12.015 INFO [stderr] usermod: no changes
Dec 01 06:27:12.062 INFO [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.02s
Dec 01 06:27:12.062 INFO [stderr]      Running /target/debug/deps/ray_tracing-302c7ffe2b0c4241
Dec 01 06:27:12.064 INFO [stdout] 
Dec 01 06:27:12.064 INFO [stdout] running 0 tests
Dec 01 06:27:12.064 INFO [stdout] 
Dec 01 06:27:12.064 INFO [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Dec 01 06:27:12.064 INFO [stdout] 
Dec 01 06:27:12.066 INFO [stderr] su: No module specific data is present
Dec 01 06:27:12.441 INFO running `"docker" "inspect" "0990eaa94d801ee9132dcf0611dbef215a37c056dd1e53ca1c9c3531c5aeb383"`
Dec 01 06:27:12.639 INFO running `"docker" "rm" "-f" "0990eaa94d801ee9132dcf0611dbef215a37c056dd1e53ca1c9c3531c5aeb383"`
Dec 01 06:27:12.827 INFO [stdout] 0990eaa94d801ee9132dcf0611dbef215a37c056dd1e53ca1c9c3531c5aeb383
